package com.own.entity.tuple;

import java.io.Serializable;

/**
 * Tuple4
 *
 * @author chenxueli
 * @date 2024-01-31 08:57:00
 */
public record Tuple4<TYPE1, TYPE2, TYPE3, TYPE4>(
        TYPE1 value1,
        TYPE2 value2,
        TYPE3 value3,
        TYPE4 value4
) implements Serializable {

    /**
     * 构造方法
     *
     * @param value1  值1
     * @param value2  值2
     * @param value3  值3
     * @param value4  值4
     * @param <TYPE1> 类型1
     * @param <TYPE2> 类型2
     * @param <TYPE3> 类型3
     * @param <TYPE4> 类型4
     * @return 元组
     */
    public static <TYPE1, TYPE2, TYPE3, TYPE4> Tuple4<TYPE1, TYPE2, TYPE3, TYPE4> of(
            TYPE1 value1,
            TYPE2 value2,
            TYPE3 value3,
            TYPE4 value4
    ) {
        return new Tuple4<>(value1, value2, value3, value4);
    }

}
